/* ⚠️
 * libs/mysql.js 支持异步使用 mysql
 */

import MySQL from "mysql"
import config from "../config/server.json"

const pool = MySQL.createPool({
  host: config.mysql.host,
  user: config.mysql.user,
  password: config.mysql.password,
  database: config.mysql.database
})

/**
 * @description 连接数据库。
 * @param {String} sql 要查询的 sql 语句。
 * @param {any} values （可空）需要插入的值。
 * @return {promise} 可用 await 获取结果。
 */
const query = function(sql = "", values) {
  return new Promise((resolve, reject) => {
    pool.getConnection(function(err, connection) {
      if (err) {
        reject(err)
      } else {
        connection.query(sql, values, (err, rows) => {
          if (err) {
            reject(err)
          } else {
            resolve(rows)
          }
          connection.release()
        })
      }
    })
  })
}

module.exports = { query }
